#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Time       :   19:27
# Author     : Y4
# Site       : 
# File       : 02 面向对象-类方法.py
# Software   : PyCharm

'''
类方法
    装饰器 @classmethod
    类方法的参数,是类中的属性,不是对象的属性
    类方法只能可以使用类中的属性
    类方法中不能使用普通方法
作用
    在对象创建之前做一些动作,功能
'''


class Phone:
    brand = '华为'
    color = 'red'
    size = 64
    price = 4999

    # 普通方法
    def call(self):
        print(f'使用颜色:{self.color},{self.brand}的手机,{self.size}寸的,{self.price}人民币的手机在拨打电话')

    # 类方法
    @classmethod
    def update_price(cls):
        # 由于疫情影响,手机价格全部上调100元
        cls.price += 100


Phone.update_price()  # 类直接调用类方法

phone1 = Phone()  # 实例化类
phone1.call()  # 调用普通方法
